package org.example;

import org.example.config.SpringConfig;
import org.example.service.TaskService;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import java.util.concurrent.TimeUnit;

public class App {
    public static void main(String[] args) {
        // 初始化Spring上下文（基于注解配置）
        AnnotationConfigApplicationContext context =
                new AnnotationConfigApplicationContext(SpringConfig.class);

        // 获取任务服务
        TaskService taskService = context.getBean(TaskService.class);

        // 提交任务
        taskService.submitTimePrintTask("时间打印任务1");
        taskService.submitCountdownTask("倒计时任务1", 15); // 15秒倒计时
        taskService.submitTimePrintTask("时间打印任务2");

        try {
            // 等待所有任务完成（这里给30秒时间）
            TimeUnit.SECONDS.sleep(30);
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
        }

        // 关闭线程池
        taskService.shutdownExecutor();

        // 关闭Spring上下文
        context.close();
    }
}
